#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

//int dominantIndex(int* nums, int numsSize) {
//    int m1 = -1, m2 = 0;
//    int index = -1;
//    numsSize--;
//    while (numsSize >= 0)
//    {
//        if (nums[numsSize] > m1)
//        {
//            m2 = m1;
//            m1 = nums[numsSize];
//            index = numsSize;
//        }
//        else if (nums[numsSize] > m2)
//        {
//            m2 = nums[numsSize];
//        }
//        numsSize--;
//    }
//    return m1 >= m2 * 2 ? index : -1;
//
//}


int* intersection(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize) {
    *returnSize = 0;
    int hash[1001] = { 0 };
    int hash2[1001] = { 0 };
    nums1Size--;
    nums2Size--;
    int* intersection = malloc(sizeof(int) * 1001);
    while (nums1Size >= 0)
    {
        ++hash[nums1[nums1Size]];
        nums1Size--;
    }
    while (nums2Size >= 0)
    {
        if (hash[nums2[nums2Size]] != 0)
        {
            hash2[nums2[nums2Size]]++;
            if (hash2[nums2[nums2Size]] == 1)
                intersection[(*returnSize)++] = nums2[nums2Size];
        }
        nums2Size--;
    }
    return intersection;
}